From 5945b57b055abcab803d23974e95c3657ef597fb Mon Sep 17 00:00:00 2001 From: Andrii Anisov Date: Wed, 8 May 2019 12:59:38 +0300 Subject: [PATCH] xen:arm: we never get into schedule_tail() with prev==current ARM's schedule_tail() is called from two places: context_switch() and continue_new_vcpu(). Both functions are always called with prev!=current. So replace the correspondent check in schedule_tail() with ASSERT() which is the development (debug) build guard. Signed-off-by: Andrii Anisov Reviewed-by: Dario Faggioli Acked-by: Julien Grall --- xen/arch/arm/domain.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index 915ae0b4c6..ff330b35e6 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -305,6 +305,8 @@ static void update_runstate_area(struct vcpu *v) static void schedule_tail(struct vcpu *prev) { + ASSERT(prev != current); + ctxt_switch_from(prev); ctxt_switch_to(current); @@ -313,8 +315,7 @@ static void schedule_tail(struct vcpu *prev) context_saved(prev); - if ( prev != current ) - update_runstate_area(current); + update_runstate_area(current); /* Ensure that the vcpu has an up-to-date time base. */ update_vcpu_system_time(current); -- 2.30.2